import { DatabaseTypeCode } from '../common';

export default {
  type: DatabaseTypeCode.SQLSERVER,
  keywords: [
    'ABSOLUTE',
    'ACTION',
    'ADD',
    'AFTER',
    'ALL',
    'ALTER',
    'ALWAYS',
    'AND',
    'ANY',
    'APPLY',
    'AS',
    'ASC',
    'AUTHORIZATION',
    'BACKUP',
    'BEGIN',
    'BETWEEN',
    'BINARY',
    'BREAK',
    'BROWSE',
    'BULK',
    'BY',
    'CASCADE',
    'CASE',
    'CAST',
    'CATCH',
    'CHECK',
    'CHECKPOINT',
    'CLOSE',
    'CLUSTERED',
    'COALESCE',
    'COLLATE',
    'COLUMN',
    'COMMIT',
    'COMPUTE',
    'CONSTRAINT',
    'CONTAINS',
    'CONTAINSTABLE',
    'CONTINUE',
    'CONVERT',
    'CORRESPONDING',
    'CREATE',
    'CROSS',
    'CURRENT',
    'CURSOR',
    'CYCLE',
    'DATA',
    'DATABASE',
    'DBCC',
    'DEALLOCATE',
    'DECLARE',
    'DEFAULT',
    'DELETE',
    'DENY',
    'DESC',
    'DESCRIPTION',
    'DISABLE',
    'DISALLOW',
    'DISCONNECT',
    'DISTINCT',
    'DISTRIBUTED',
    'DOUBLE',
    'DROP',
    'DUMP',
    'ELSE',
    'ENABLE',
    'END',
    'ERRLVL',
    'ESCAPE',
    'EXCEPT',
    'EXEC',
    'EXECUTE',
    'EXISTS',
    'EXIT',
    'EXTERNAL',
    'FETCH',
    'FILE',
    'FILLFACTOR',
    'FOLLOWING',
    'FOR',
    'FOREIGN',
    'FROM',
    'FULL',
    'FUNCTION',
    'GOTO',
    'GRANT',
    'GROUP',
    'HAVING',
    'HOLDLOCK',
    'IDENTITY',
    'IF',
    'IN',
    'INDEX',
    'INNER',
    'INSERT',
    'INSTEAD',
    'INTERSECT',
    'INTO',
    'IS',
    'JOIN',
    'KEY',
    'KILL',
    'LAST',
    'LEFT',
    'LIKE',
    'LIMIT',
    'LINENO',
    'LOAD',
    'LOCAL',
    'MERGE',
    'NATIONAL',
    'NOCHECK',
    'NONCLUSTERED',
    'NOT',
    'NULL',
    'NULLIF',
    'OF',
    'OFF',
    'OFFSETS',
    'ON',
    'ONLY',
    'OPEN',
    'OPTION',
    'OR',
    'ORDER',
    'OUTER',
    'OUTPUT',
    'OVER',
    'PARTITION',
    'PERCENT',
    'PLAN',
    'PRECEDING',
    'PRECISION',
    'PRIMARY',
    'PRINT',
    'PROC',
    'PROCEDURE',
    'PUBLIC',
    'RAISERROR',
    'READ',
    'READONLY',
    'READTEXT',
    'RECONFIGURE',
    'REFERENCES',
    'REPLICATION',
    'RESTORE',
    'RESTRICT',
    'RETURN',
    'REVOKE',
    'RIGHT',
    'ROLLBACK',
    'ROWCOUNT',
    'ROWGUIDCOL',
    'RULE',
    'SAVE',
    'SCHEMA',
    'SECURITYAUDIT',
    'SELECT',
    'SEMANTICKEYPHRASETABLE',
    'SEMANTICSIMILARITYDETAILSTABLE',
    'SEMANTICSIMILARITYTABLE',
    'SESSION_USER',
    'SET',
    'SETUSER',
    'SHUTDOWN',
    'SOME',
    'STATISTICS',
    'SYSTEM_USER',
    'TABLE',
    'TABLESAMPLE',
    'TEXTSIZE',
    'THEN',
    'THROW',
    'TO',
    'TOP',
    'TRAN',
    'TRANSACTION',
    'TRIGGER',
    'TRUNCATE',
    'TRY',
    'TSEQUAL',
    'UNION',
    'UNIQUE',
    'UNPIVOT',
    'UPDATE',
    'UPDATETEXT',
    'USE',
    'USER',
    'VALUES',
    'VARYING',
    'VIEW',
    'WAITFOR',
    'WHEN',
    'WHERE',
    'WHILE',
    'WITH',
    'WITHIN',
    'WRITETEXT',
    'XML',
  ],
  functions: [
    'ABS',
    'ACOS',
    'APP_NAME',
    'ASCII',
    'ASIN',
    'ATAN',
    'ATN2',
    'AVG',
    'BIGCOUNT',
    'BINARY_CHECKSUM',
    'CAST',
    'CEILING',
    'CHAR',
    'CHARINDEX',
    'CHECKSUM',
    'CHECKSUM_AGG',
    'COALESCE',
    'COL_LENGTH',
    'COL_NAME',
    'CONCAT',
    'CONCAT_WS',
    'CONNECTIONPROPERTY',
    'CONTEXT_INFO',
    'CONVERT',
    'COS',
    'COT',
    'COUNT',
    'COUNT_BIG',
    'CRYPT_GEN_RANDOM',
    'CRYPT_PROPERTY',
    'CURSOR_STATUS',
    'DATABASEPROPERTYEX',
    'DATEADD',
    'DATEDIFF',
    'DATENAME',
    'DATEPART',
    'DAY',
    'DB_ID',
    'DB_NAME',
    'DEGREES',
    'DIFFERENCE',
    'EXP',
    'FILE_ID',
    'FILE_NAME',
    'FILEGROUP_ID',
    'FILEGROUP_NAME',
    'FILEGROUPPROPERTY',
    'FILEPROPERTY',
    'FLOOR',
    'FORMAT',
    'GETANSINULL',
    'GETDATE',
    'GETUTCDATE',
    'HASHBYTES',
    'HOST_ID',
    'HOST_NAME',
    'IDENT_CURRENT',
    'IDENT_INCR',
    'IDENT_SEED',
    'IIF',
    'INDEX_COL',
    'INDEXKEY_PROPERTY',
    'INDEXPROPERTY',
    'ISDATE',
    'ISNULL',
    'ISNUMERIC',
    'IS_MEMBER',
    'IS_OBJECTSIGNED',
    'IS_SRVROLEMEMBER',
    'ISNULL',
    'LEFT',
    'LEN',
    'LOG',
    'LOG10',
    'LOWER',
    'LTRIM',
    'MAX',
    'MIN',
    'MONTH',
    'NEWID',
    'NULLIF',
    'OBJECT_DEFINITION',
    'OBJECT_ID',
    'OBJECT_NAME',
    'OBJECT_SCHEMA_NAME',
    'OBJECTPROPERTY',
    'OBJECTPROPERTYEX',
    'PARSE',
    'PATINDEX',
    'PERCENT_RANK',
    'PERCENTILE_CONT',
    'PERCENTILE_DISC',
    'PI',
    'POWER',
    'RADIANS',
    'RANK',
    'REPLACE',
    'REPLICATE',
    'REVERSE',
    'RIGHT',
    'ROUND',
    'ROW_NUMBER',
    'RTRIM',
    'SCOPE_IDENTITY',
    'SERVERPROPERTY',
    'SESSIONPROPERTY',
    'SIGN',
    'SIN',
    'SOUNDEX',
    'SPACE',
    'SQRT',
    'SQUARE',
    'STATS_DATE',
    'STDEV',
    'STDEVP',
    'STUFF',
    'SUBSTRING',
    'SUM',
    'SUSER_ID',
    'SUSER_NAME',
    'SUSER_SID',
    'SUSER_SNAME',
    'SYSTEM_USER',
    'TAN',
    'TEXTPTR',
    'TEXTVALID',
    'TRY_CAST',
    'TRY_CONVERT',
    'TRY_PARSE',
    'TYPE_ID',
    'TYPE_NAME',
    'TYPEPROPERTY',
    'UNICODE',
    'UPPER',
    'USER_ID',
    'USER_NAME',
    'YEAR',
    'GET_FILESTREAM_TRANSACTION_CONTEXT',
    'CURRENT_TRANSACTION_ID',
    'XACT_STATE',
    'STRING_AGG',
    'STRING_ESCAPE',
    'STRING_SPLIT',
    'FORMATMESSAGE',
    'XML_SCHEMA_NAMESPACE',
    'ISJSON',
    'JSON_VALUE',
    'JSON_QUERY',
    'JSON_MODIFY',
    'JSON_EXISTS',
    'JSON_TEXTCONTAINS',
    'CHOOSE',
    'IIF',
    'FORMAT',
    'PARSE',
    'SEQUENCE_SCHEMA',
    'SEQUENCE_NAME',
    'SPATIAL_ST_GEOMETRYTYPE',
    'SPATIAL_ST_DIMENSION',
    'SPATIAL_ST_SRID',
    'SPATIAL_ST_ISVALID',
    'SPATIAL_ST_ASTEXT',
    'SPATIAL_ST_ASBINARY',
    'SPATIAL_ST_AREA',
    'SPATIAL_ST_LENGTH',
    'SPATIAL_ST_ISCLOSED',
    'SPATIAL_ST_NUMPOINTS',
    'SPATIAL_ST_X',
    'SPATIAL_ST_Y',
    'SPATIAL_ST_NUMGEOMETRIES',
    'SPATIAL_ST_BOUNDARY',
    'SPATIAL_ST_BUFFER',
    'SPATIAL_ST_CENTROID',
    'SPATIAL_ST_CONTAINS',
    'SPATIAL_ST_CONVEXHULL',
    'SPATIAL_ST_CROSSES',
    'SPATIAL_ST_DIFFERENCE',
    'SPATIAL_ST_DISJOINT',
    'SPATIAL_ST_DISTANCE',
    'SPATIAL_ST_ENVELOPE',
    'SPATIAL_ST_EQUALS',
    'SPATIAL_ST_INTERSECTION',
    'SPATIAL_ST_INTERSECTS',
    'SPATIAL_ST_ISRING',
    'SPATIAL_ST_ISSIMPLE',
    'SPATIAL_ST_OVERLAPS',
    'SPATIAL_ST_SYMDIFFERENCE',
    'SPATIAL_ST_TOUCHES',
    'SPATIAL_ST_UNION',
    'SPATIAL_ST_WITHIN',
  ],
};
